package com.xxx.ware.ware_manage_sys.service;

import com.baomidou.mybatisplus.extension.service.IService;
import com.xxx.ware.ware_manage_sys.bean.dto.AdminSaveUpdateDto;
import com.xxx.ware.ware_manage_sys.bean.dto.AdminQueryDto;
import com.xxx.ware.ware_manage_sys.bean.dto.WebResultDto;
import com.xxx.ware.ware_manage_sys.bean.entity.admin.WmsAdmin;
import com.xxx.ware.ware_manage_sys.bean.vo.AdminVo;

import java.util.List;

public interface IAdminService extends IService<WmsAdmin> {

    /**
     * 管理员列表
     * @param adminQueryDto 查询条件
     * @return
     */
    WebResultDto<AdminVo> getAdminList(AdminQueryDto adminQueryDto);

    /**
     * 添加管理员
     * @return
     */
    Boolean saveAdmin(AdminSaveUpdateDto adminSaveUpdateDto) throws Exception;

    /**
     * 获取仓库管理员
     * @param adminAccount 管理员账号
     * @param adminName   管理员姓名
     * @param adminPhone  管理员联系方式
     * @return
     */
    WmsAdmin getAdminBySoleKey(String adminAccount, String adminName, String adminPhone);

    /**
     * 更新管理员信息
     * @throws Exception
     */
    Boolean updateAdmin(AdminSaveUpdateDto adminSaveUpdateDto) throws Exception;

    /**
     * 删除管理员（逻辑删除）
     * @param id
     * @return
     */
    Boolean removeAdmin(Long id);
}
